package com.pz.cloud.framework.business.society.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pz.cloud.framework.base.model.WorkflowEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.util.Date;

@Data
@TableName("org_society")
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "org_society对象", description = "社团表")
public class OrgSociety extends WorkflowEntity {
    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 所属部门code
     */
    @ApiModelProperty(value = "部门code",required = true)
    private String sysOrgCode;
    /**
     * 所属部门code
     */
    @Excel(name = "所属部门", width = 15)
    @ApiModelProperty(value = "所属部门",required = true)
    private String departName;
    /**
     * 社团名称
     */
    @Excel(name = "社团名称", width = 15)
    @ApiModelProperty(value = "社团名称",required = true)
    private String name;

    @ApiModelProperty(value = "负责人",required = true)
    @Excel(name = "负责人", width = 15)
    private String responsibleMan;//负责人

    @ApiModelProperty(value = "负责人id",required = true)
    @NotEmpty
    private String responsibleManId;//负责人id

    @ApiModelProperty(value = "指导老师",required = true)
    @Excel(name = "指导老师", width = 15)
    private String instructor;

    @ApiModelProperty(value = "指导老师id",required = true)
    @NotEmpty
    private String instructorId;

    @ApiModelProperty(value = "指导老师工号")
    @TableField(exist = false)
    private String instructorNo;

    @ApiModelProperty(value = "图片列表")
    private String pics;

    @ApiModelProperty(value = "附件列表")
    private String enclosures;

    @ApiModelProperty(value = "成立时间")
    @Excel(name = "成立时间", width = 15,format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date buildTime;

    @ApiModelProperty(value = "解散时间")
    @Excel(name = "解散时间", width = 15,format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date dismissTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "（查询条件）是否完成 0未完成 1已完成")
    private Integer isFinished;//是否完成 0未完成 1已完成

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String responsibleManNo;//负责人工号,导入用

    /**学院*/
    @ApiModelProperty(value = "学院")
    @TableField(exist = false)
    private String college;

    /**专业*/
    @ApiModelProperty(value = "专业")
    @TableField(exist = false)
    private String major;

    /**年级*/
    @ApiModelProperty(value = "年级")
    @TableField(exist = false)
    private String grade;

    /**班级*/
    @ApiModelProperty(value = "班级")
    @TableField(exist = false)
    private String clazz;

}
